/*	
 *				
 *					ISNW ---- It is a war.It is not warcraft!
 *
 *
 *					Author:					zhoukeli(haxixi_keli)
 *					Filename:				IParticleEmitter.h
 *					CreateTime:				2008/12/30
 *					ModifyTime:				2008/12/30
 *
 */

#ifndef __ISNW_I_PARTICLE_EMITTER_H__
#define __ISNW_I_PARTICLE_EMITTER_H__

#include "Particle.h"
#include "IReferenceCounted.h"

namespace ISNW
{
namespace scene
{
	class IParticleEmitter : public IReferenceCounted
	{
	public:
		virtual s32 emitt(u32 now,u32 timeEscaped,Particle*& point) = 0;
		
		virtual void setDirection(core::vector3df direction) = 0;

		virtual void setMaxParticlesPerSecond(u32 max) = 0;

		virtual void setMinParticlesPerSecond(u32 min) = 0;

		virtual void setMaxColor(u32 color) = 0;

		virtual void setMinColor(u32 color) = 0;

		virtual u32 getMaxParticlesPerSecond() const = 0;

		virtual u32 getMinParticlesPerSecond() const = 0;

		virtual u32 getMaxColor() const = 0;

		virtual u32 getMinColor() const = 0;
	};
} // end namespace scene
} // end namespace ISNW
#endif